Gesture based interaction with traffic data

ABSTRACT

Gesture based interaction with traffic data is disclosed. A virtual broadcast presentation may be generated based on dynamic information such as traffic information, weather information, or other information that may be featured on a virtual broadcast presentation. A gesture made by a user is detected and processed to determine an input command associated with the detected gesture. The virtual broadcast presentation may be manipulated based on the input command.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part and claims the priority benefit of U.S. patent application Ser. No. 12/398,120, now U.S. Pat. No. 8,619,072, filed Mar. 4, 2009 and entitled “Controlling a Three-Dimensional Virtual Broadcast.” The disclosure of the aforementioned application is incorporated herein by reference.

FIELD OF THE INVENTION

The present invention generally relates to broadcast presentation technology. More particularly, the present invention concerns the use of a gesture to interact with traffic information and other related data presented during a virtual broadcast presentation.

BACKGROUND OF THE INVENTION

Existing broadcast presentations generally include a variety of maps, images, and animations that display current or forecasted conditions for reference by a presenter (i.e., news reporter) during a broadcast presentation such as a traffic or weather report. The broadcast presentation is often produced prior to a scheduled broadcast for presentation by a traffic or weather reporter in a fixed arrangement (much like a slide show) with a prerehearsed script. Although the presenter has the ability to control the speed and manner in which the broadcast presentation is presented to a viewing audience, the content in the maps and images remains fixed. That is, the content presented during the broadcast presentation is not in real-time and is outdated. The reporting of outdated information (e.g., traffic or weather information) may have a drastic effect on a viewing audience who may rely on the reported information to make decisions about such things as travel or logistics.

Another shortcoming of existing broadcast technology is the lack of interaction with the content of the virtual broadcast presentation. Since the presentation contains pre-determined content, a presenter is unable to directly interact with or manipulate the maps and images of the presentation. The presenter cannot, for example, retrieve real-time conditions or other information associated with the maps or images of the presentation.

As such, there is a need in the art for gesture based interaction with traffic data and other related data.

SUMMARY OF THE INVENTION

Embodiments of the present invention allow a presenter to interact with traffic data and other related data in real-time presented on a display screen or other suitable display using one or more gestures.

In a first claimed embodiment, a method for gesture based interaction with traffic data is claimed. Through the method, a virtual broadcast presentation is generated based on traffic data received from one or more information sources. A gesture made by a user interacting with the virtual broadcast presentation is processed, the gesture being associated with an input command for manipulating the virtual broadcast presentation. The input command associated with a detected gesture is determined and the virtual broadcast presentation is manipulated based on the input command.

In a second claimed embodiment, a system for gesture based interaction with traffic data is claimed. The system includes at least a communications module, a presentation rendering module, and a gesture recognition module, each module stored in memory and executable by a processor. Execution of the communications module by the processor detects a gesture made by a user interacting with a virtual broadcast presentation. The gesture is associated with an input command for manipulating the virtual broadcast presentation. Execution of the gesture recognition module processes, recognizes, and/or interprets a gesture and determines whether the gesture corresponds to a known input command. Execution of the presentation rendering module by the processor generates the virtual broadcast presentation based on traffic data received from one or more information sources, and manipulates the virtual broadcast presentation based on the input command.

In a third claimed embodiment, a non-transitory computer-readable storage medium is claimed. The storage medium includes a computer program that is executable by a processor to perform a method for gesture based interaction with traffic data. A gesture made by a user interacting with the virtual broadcast presentation is processed, the gesture being associated with an input command for manipulating the virtual broadcast presentation. The input command associated with a detected gesture is then determined and the virtual broadcast presentation is manipulated based on the input command.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a block diagram of an environment for the broadcast of a virtual broadcast presentation that a user may interact with and reference in real-time.

FIG. 2 illustrates the virtual broadcast presentation engine of FIG. 1.

FIGS. 3A-3B illustrate a virtual broadcast presentation displayed on a display screen.

FIG. 4 illustrates an interactive element appearing in a virtual broadcast presentation.

FIGS. 5A-5B illustrate a virtual broadcast presentation in ‘trip time’ mode.

FIGS. 6A-6B illustrate a traffic camera appearing within a virtual broadcast presentation.

FIG. 7 is a flowchart illustrating a method for gesture based interaction with traffic data presented in a virtual broadcast presentation.

DETAILED DESCRIPTION

The present invention provides for the use of a gesture to interact with traffic information and other related data during a virtual broadcast presentation. The virtual broadcast presentation may include maps, images, graphics, animations, multimedia overlays, and the like, that are rendered in a two-dimensional or three-dimensional manner on a display screen such as a liquid crystal display (LCD) screen or computer monitor screen. A presenter may refer to the virtual broadcast presentation in real-time and may manipulate a view of the presentation using a gesture. The presenter may also use a gesture to select an interactive element included in the presentation.

FIG. 1 illustrates a block diagram of an environment for the broadcast of a virtual broadcast presentation that a user may interact with and reference in real-time. The environment 100 of FIG. 1 includes a computing device 110 having a virtual broadcast presentation engine 115, a gesture recognition module 120, and a database 125. The computing device 110 of FIG. 1 is communicatively coupled to information sources 130, a display screen 140, and a broadcast system 150. While FIG. 1 illustrates one particular environment 100 including certain elements for the broadcast of a virtual presentation, alternative embodiments may be implemented that utilize differing elements than those disclosed in FIG. 1 (or combinations of the same), but that otherwise fall within the scope and spirit of the present invention.

The computing device 110 and the virtual broadcast presentation engine 115 may generate a composite presentation that includes a virtual broadcast presentation. The virtual broadcast presentation may be two-dimensional or three-dimensional. The composite presentation may be generated using information obtained in real-time (or near real-time) from the information sources 130 as described in further detail below. The virtual broadcast presentation engine 115, in particular, is discussed with respect to FIG. 2. The computing device 110 may include various components such as one or more of communications interfaces, a processor, memory, storage, and any number of buses providing communication therebetween (not shown). The processor may execute instructions implemented through computing modules or engines while the memory and storage may both permanently or temporarily store data including the aforementioned modules and engines.

The computing device 110 of FIG. 1 includes a gesture recognition module 120 which is stored in the memory of computing device 110 and is executable by a processor to process, recognize, and/or interpret a gesture. The gesture recognition module 120 may employ any technique known in the art for processing and detecting a gesture such as computer vision or image processing. In one embodiment, the gesture recognition module 120 may identify a received gesture by comparing the gesture to a plurality of previously identified gestures stored in database 125.

A gesture may be static or dynamic and may include any form of movement, motion, or other non-verbal communication or form of expression made by the body of a user. A gesture, for example, may include a static pose or configuration, or may include movement or motion of the limbs (i.e., hands, legs) or face (i.e., eyes, lips) of the user. In one embodiment, each detected gesture may be associated with an input command for directing the computing device 110 to perform a particular action or task such as manipulating a view of the virtual broadcast presentation. For example, detection of vertical downward movement of a pointed index finger may correspond to an input command for scrolling down a virtual broadcast presentation. Gesture recognition module 120 may process the detected gesture and determine whether the gesture corresponds to a known input command.

In another embodiment, a gesture may be associated with a voice command (e.g., a spoken word or phrase). The computing device 110 may include a microphone for voice detection and a voice recognition module for processing the detected voice command (not shown). The gesture recognition module 120 may match a detected gesture to a detected voice command and determine whether the gesture and voice command are associated with a particular input command. The computing device 110 may perform a specific action or task based on the detection of a gesture associated with a particular voice command and input command.

To capture or detect a gesture or any other movement or pose made by a user, the computing device 110 may be communicatively coupled to or include one or more cameras known in the art such as depth-aware cameras, stereo cameras, single cameras or any other suitable cameras. The computing device 110 may also include one or more sensors known in the art for gesture detection or motion sensing such as an optical sensor, (e.g. infrared, laser), an image sensor, an accelerometer, a gyroscopic component, a magnetometer, and the like. Processing of a detected gesture or image, for example, may include enhancement of the image and extraction and grouping of image features. The sensors may take various measurements and a gesture may be identified using pattern recognition, neural network algorithms, or any other technique known in the art.

The computing device 110 may also include a database 125 for storing a plurality of acceptable gestures each associated with a particular input command and/or voice command. The database 125 may be integrated with or separate from the computing device 110. In one embodiment, a user may customize or update the database 125 by adding or removing acceptable gestures, voice commands, and input commands. The detection of a specific gesture and/or voice command associated with a particular input command causes the computing device (i.e., virtual broadcast presentation engine 115) to perform some action such as manipulating the virtual broadcast presentation based on the input command.

The information sources 130 may be provided by various organizations and in a variety of forms. The information sources 130 may include data sources related to traffic data such as traffic flow and as described in U.S. patent application Ser. No. 11/302,418, now U.S. Pat. No. 7,221,287, or weather data such as forecasts. The information sources 130 may also include data sources related to newsworthy events or incidents such as school closings, election results, and other information that may be featured in a virtual broadcast presentation. The information sources 130 may require subscription or authentication for access and may be accessible via Telnet, FTP, or web services protocols. The information may be received from the information sources 130 in real-time or near real-time to allow for generation of an equally real-time or near real-time presentation. That presentation may, in turn, be manipulated in real-time.

In an embodiment of the present invention utilizing traffic data specific to the San Francisco Bay area, the information sources 130 may include one or more of the 511.org system (a collaboration of public agencies including the California Highway Patrol, Metropolitan Transportation Commission, and CALTRANS), the California Highway Patrol (CHP) World Wide Web server, the PeMS system at the University of California at Berkeley, various public event listings, or a publicly or privately accessible user input mechanism. For weather data, the information sources 130 may include the National Weather Service among other weather information sources. Other data sources or alternative types of data sources (e.g., non-traffic and non-weather related sources) may be incorporated and utilized in various embodiments of the present invention.

The display screen 140 may be any media display screen known in the art such as a LCD screen, television screen, computer monitor screen, projection screen, multi-touch touch screen, or any other suitable display. A presenter may interact with display screen 140 using a gesture.

The broadcast system 150 disseminates the composite presentation to viewers. Dissemination may occur via radio waves such as UHF or VHF, cable, satellite, or the World Wide Web. Hardware and software necessary to effectuate a broadcast may be included in the broadcast system 150 and are generally known to those skilled in the broadcasting art. Broadcast images are also commonly disseminated to the public via cable transmission, Internet Protocol television (IPTV) transmission, and digital broadcasts such as using Digital Video Broadcasting (DVB) and the like.

FIG. 2 illustrates the virtual broadcast presentation engine of FIG. 1. The virtual broadcast presentation engine 115 of FIG. 2 includes a communications module 210, a presentation rendering module 220, a selection module 230, a feedback module 240, and a trip calculation module 250. The virtual broadcast presentation engine 115 and its constituent modules may be stored in memory and executed by a processing device to effectuate the functionality corresponding thereto. The virtual broadcast presentation engine 115 may be composed of more or less modules (or combinations of the same) and still fall within the scope of the present invention. For example, the functionality of the selection module 230 and the functionality of the feedback module 240 may be combined into a single module.

Execution of the communications module 210 allows for receipt of a gesture detected or captured by a sensor or camera of the computing device 110. Execution of the communications module 210 may also allow for a user selection such as the selection by a presenter of an interactive element displayed within the virtual broadcast presentation. Execution of the communications module 210 may additionally allow for a user selection of other components included within the virtual broadcast presentation such as various soft keys with different functionalities. Execution of the communications module 210 may also allow for receipt of dynamic information from the information sources 130. This dynamic information may be used by other modules for generating, manipulating, and interacting with the virtual broadcast presentation.

Referring again to FIG. 2, execution of the presentation rendering module 220 allows for the generation of a virtual broadcast presentation based on the dynamic information received through execution of the communications module 210. The dynamic information may include traffic information, weather information, newsworthy events or incidents, election results, school closings, or other information that may be featured in a virtual broadcast presentation.

Execution of the presentation rendering module 220 may also allow for manipulation of a view of the virtual broadcast presentation in response to the gesture received by the communications module 210. Manipulating the view of the presentation may include one or more of panning across, rotating, tilting, or zooming in/out of the virtual broadcast presentation. A gesture associated with a particular input command may be assigned to a specific manipulation of the virtual broadcast presentation. For example, a gesture of waving a hand from left to right may adjust the view to pan across the map or presentation. As another example, a gesture corresponding to the interaction technique of “pinching” may be associated with an input command to zoom in/out of a current viewpoint of a presentation. A presenter may manipulate the presentation by gesturing and either spreading two fingers apart or bringing two fingers close together. As another example, a gesture may be associated with an input command to select a soft key displayed within the virtual broadcast presentation. Selection of one soft key, for example, may affect zoom speed, while selection of a different soft key may affect zoom direction.

Execution of the selection module 230 allows for selection of an interactive element included in the virtual broadcast presentation in response to the received gesture. A gesture may be associated with an input command to select an interactive element displayed within the virtual broadcast presentation. An interactive element may include a soft key displayed within the virtual broadcast presentation. The interactive element may also represent a traffic alert. For example, if road construction is taking place at a given intersection of two streets, an icon indicative of road construction may be placed in the virtual broadcast presentation at a position that corresponds to that given intersection. Execution of the selection module 230 may also select the interactive element when the interactive element is positioned near the center of the virtual broadcast presentation.

Selecting an interactive element may cause one of a variety of responses from the virtual broadcast presentation. For example, selection of the interactive element may cause additional information related to the interactive element to be displayed within the virtual broadcast presentation. In one embodiment, the interactive element may correspond to a traffic camera wherein selection of the interactive element causes a live camera view to appear within the virtual broadcast presentation.

Execution of the feedback module 240 provides feedback to the presenter to inform the presenter that a given interactive element is selectable. For example, the interactive element may be selectable in certain regions of the virtual broadcast presentation, such as the center. When the interactive element enters or leaves the center of the virtual broadcast presentation, the presenter may be informed via feedback. The feedback may include highlighting of the interactive element. To avoid distracting or otherwise undesirable imagery such as a cursor being included in the virtual broadcast presentation, non-visible feedback, such as an audible tone, may be invoked. The interactive element may also be selectable by gesturing to hover a pointer on the virtual broadcast presentation, and by applying gesture of selection when the location of the pointer coincides with that of the interactive element.

Execution of the feedback module 240 also provides feedback to the presenter that a given interactive element has been successfully selected. For example, if the presenter has selected a particular interactive element, the feedback module 240 may highlight the interactive element, change the color or appearance of the interactive element, or cause the interactive element to blink or flash continually. Such feedback confirms the selection of the interactive element and prevents the presenter from selecting the same interactive element multiple times.

Execution of the trip calculation module 250 may allow for the determination or calculation of an estimated amount of time (e.g., ‘trip time’) needed to travel from a selected location to another location. In one embodiment, the presenter may select a first interactive element displayed in the virtual broadcast presentation wherein the first interactive element corresponds to a starting point or location. The presenter may then select a second interactive element displayed in the presentation that corresponds to a desired end point or destination location. An interactive element or starting/end point may include a particular street, road, landmark or point of interest, highway, neighborhood, town, city, area, region or the like. The trip calculation module 250 may calculate or forecast the estimated amount of time required to traverse the real world distance from the first selected interactive element to the second interactive element in real-time considering, at least in part, information from the information sources 130. When calculating a trip time, the trip calculation module 250, for example, may consider the actual distance from the starting point to the end point, as well as various conditions affecting travel, including current weather conditions or traffic conditions such as a recent accident or road closure. In another embodiment, trip calculation module 250 may be used to calculate an estimated travel distance between two selected locations. Execution of trip calculation module 250 may occur following the selection of a ‘mode key’ as discussed further in FIG. 3A below.

Execution of the virtual broadcast presentation engine 115 may output the virtual broadcast presentation to other components of the computing device 110 for generation of the composite presentation. Accordingly, the computing device 110 may output the composite presentation to the broadcast system 150 for dissemination to viewers.

FIG. 3A illustrates a virtual broadcast presentation 300 displayed on a display screen 140. The presentation 300 of FIG. 3A includes traffic information. The principles described herein with respect to traffic are equally applicable to embodiments of the present invention that include weather information, newsworthy events or incidents, school closings, election results, or other information that may be featured in a virtual broadcast presentation. Presentation 300 may be generated and manipulated by execution of the presentation rendering module 220 in real-time. Presentation 300 may include satellite images of a given area with an animated road traffic report. A detailed description of animated road traffic reports may be found in U.S. patent application Ser. No. 11/302,418, now U.S. Pat. No. 7,221,287, the disclosure of which is incorporated by reference.

Satellite images may be manipulated by execution of the presentation rendering module 220 to aid in generating three-dimensional information. For example, two-dimensional satellite images may be processed in the context of other geographical information (e.g., topographical information) to generate a three-dimensional satellite image that reflects information along an x-, y-, and z-axis as illustrated in presentation 300. The textured three-dimensional representation of landscape of a particular urban area aligns with and provides the three-dimensional coordinates for the roadways that may be animated and overlaid on the satellite images.

The presentation 300 may also include a variety of markers (310A-310 C) to identify or label various locations, landmarks, or points of interest appearing in the presentation 300 such as exit ramps, highways, named sections of highways, or city streets. These markers may be readily or universally recognizable, such as a highway marker resembling a California state highway sign with the appropriate highway number. The presentation 300 may also include markers or icons corresponding to the location of traffic incidents, road construction, and traffic cameras. Some or all of these markers 310C may be interactive elements of the virtual broadcast presentation 300 and show real-time conditions, such as an average traffic speed associated with a particular location. An interactive element may include any marker, icon, label, object, or image appearing in the presentation 300 that may be associated with real-time content or data. An interactive element, for example, may include a street, road, bridge, highway, landmark, point of interest, traffic incident or alert, road construction, or traffic camera.

FIG. 4 illustrates an interactive element appearing in a virtual broadcast presentation 300 displayed on display screen 140. A presenter 305 may select an interactive element using a gesture. Any gesture corresponding to an input command for selection of an interactive element may be used. Pointing to an interactive element with one hand, for example, may select of the interactive element. In one embodiment, an interactive element 410 (i.e., traffic incident) may be marked by a particular icon, image, or symbol (e.g., an arrow pointing to the location of the traffic incident), as shown in FIG. 4. When an interactive element is selected, additional information related to that interactive element may be displayed. In one embodiment, an interactive element marking a traffic incident may be selected resulting in detailed textual information describing the traffic incident being displayed within the presentation 300 (not shown).

Returning to FIG. 3A, presentation 300 may include images of vehicles 315 appearing along a specific roadway or highway. A vehicle 315 may be animated, for example, to show the speed and direction of traffic along a particular highway. The presentation 300 may also use color coding to demonstrate real-time traffic conditions. Color coding may help a viewer of the presentation 300 to quickly understand real-time traffic conditions associated with a depicted map or location. The presentation 300 may include a legend 320 describing various objects or color representations used in the presentation 300. A ‘green’ colored section of a road, street, or highway, for example, may represent that real-time traffic is moving at a speed of 50 miles per hour or higher (e.g., normal or optimal conditions). A ‘yellow’ colored highway may represent traffic speeds of 25 miles per hour or higher (e.g., delayed conditions), while a ‘red’ colored highway may represent traffic speeds that are less than 25 miles per hour (e.g., slow or impacted conditions).

In one embodiment, the presentation 300 may display one or more soft keys with various functionalities such as orientation key 325, tilt key 330, rotation key 335, synchronization key 340, previous and next presentation display keys 345A-345B, and mode key 350. In another embodiment, soft keys may be absent from the presentation 300 where the functionality of a soft key is activated by a specific gesture alone.

The presenter 305 may select a soft key or activate the functionality of a soft key to facilitate or enhance the understanding of the content of presentation 300. For example, the presenter 305 may use the tilt key 330 to adjust or modify a view or perspective of the presentation 300 vertically or horizontally. The presenter 305 may also change the perspective of the presentation 300 by selecting the rotation key 335. Changing the perspective of the presentation 300 may alter the orientation of the presentation such that a ‘north’ direction of a map or image is not oriented at the top of the display screen 140. As such, the presenter 305 may select the orientation key 325 to return the ‘north’ direction to the top of the display screen 140. In one embodiment, the presenter 305 may select a soft key (e.g., tilt key 330 or rotation key 335) with one gesture (i.e., using one hand) while using another gesture (i.e., the other hand) to activate the functionality of the soft key (e.g., move or adjust the presentation 300 in the desired direction).

The presentation 300 may also include a synchronization key 340. The presentation 300 may be generated based on information received in real-time or near real-time through execution of the communications module 210. The presenter 305 may select the synchronization key 340 to cause the synchronization of data in real time such that the presentation 300 reflects the most current information and conditions. In one embodiment, synchronization of data may be done automatically. In another embodiment, the presenter 305 or another user may program or instruct the computing device 110 to synchronize data at regular time periods (e.g., every 10 seconds, every minute, every two minutes, etc.).

A presenter 305 may zoom in or out of the presentation 300 by selecting keys corresponding to a particular view of the presentation such as a previous key 345A and a next key 345B. For example, a previous key 345A may revert to a presentation that offers a zoom out view while a next key 345B may allow a view that zooms in from the current view. The previous and next keys may, alternatively, be assigned zoom in or zoom out functionality. A presenter 305 may select a particular key (345A, 345B) multiple times to further zoom in or out of the current view. In one embodiment, the keys (345A, 345B) may be used to display or shift to a different image or map within the presentation 300.

The presentation 300 may also include a mode key 350. A presenter 305 may operate the presentation 300 in different modes such as ‘trip time mode’ or ‘navigation mode.’ A presenter 305 may switch between various modes by selecting the mode key 350. A presenter 305 may use ‘navigation mode’ to view the presentation 300 as described in FIG. 3B below. ‘Trip time mode’ is discussed in further detail in FIGS. 5A and 5B below.

FIG. 3B illustrates the virtual broadcast presentation 300 of FIG. 3A following manipulation by the presenter 305. The presenter 305 may manipulate the presentation 300 in ‘navigation mode’ to review or illustrate real-time traffic conditions (e.g., average traffic speeds, traffic incidents, etc.) associated with various locations depicted in the presentation 300. A view of the presentation 300 may be manipulated to give the effect of ‘flying’ or scrolling through the three-dimensional virtual representation of the traffic map and images. As the presenter 305 scrolls through the presentation 300, various interactive elements may be highlighted and/or become available for selection. FIG. 3B illustrates the presentation 300 of FIG. 3A following the presenter 305 making a gesture that is associated with an input command to scroll through the presentation 300. As a result, the presentation 300 (as shown in FIG. 3B) shows a different portion of the presentation 300 (i.e., the intersection of highways 287 and 107) and the associated traffic conditions (e.g., traffic speeds).

The presenter 305 may also manipulate the presentation 300 by panning, tilting, and/or rotating the view. For example, as the presenter 305 makes a gesture corresponding to an input command to scroll through the presentation 300, the communications module 210 detects the gestures in conjunction with execution of the computing device 110 which processes the detected gesture. In turn, the presentation rendering module 220 may be executed to move or rotate the presentation 300 a corresponding amount or in proportion to the gesture of the presenter 305. The correspondence of the presentation 300 to the gesture of the presenter 305 gives the presenter 305 the sensation of directly controlling the presentation 300. Such manipulation of the view may also be used in selecting interactive elements. For example, if a particular interactive element may be selected only when near the center of the presentation 300, the presenter 305 may cause the view to be manipulated such that the particular interactive element is centered and therefore selectable.

FIGS. 5A-5B illustrate a virtual broadcast presentation in ‘trip time mode.’ The presenter 305 may activate trip time mode by making a gesture associated with an input command to activate trip time mode. In another embodiment, the presenter 305 may make a gesture to select the mode key 350 to activate trip time mode. Once trip time mode has been activated, the presenter 305 may make a gesture associated with an input command to select an interactive element corresponding to a first location or starting point displayed within the virtual broadcast presentation 300 on the display screen 140. As shown in FIG. 5A, the presenter 305 has selected or designated “83^(rd) Ave” as a starting point. Following selection of the first location, a display 355A may appear confirming the selection of the presenter 305.

The presenter 305 may then select another interactive element corresponding to a second location or end point or travel destination by making a gesture associated with an input command to select a second interactive element within the presentation 300. As shown in FIG. 5B, the presenter 305 has selected or designated “1^(st) Ave” as an end point. Following selection of the second interactive element, the trip calculation module 250 may calculate the estimated amount of time required to traverse the real world distance from the first selected interactive element (i.e., “83^(rd) Ave”) to the second interactive element (i.e., “1^(st) Ave”) in real-time considering, at least in part, information from information sources 130. The trip calculation module 250 may consider various conditions affecting travel such as weather conditions or traffic conditions such as a recent accident, a road closure, special events (e.g., holidays, sporting events, festivals, concerts, graduations, etc.) or any other delay. A display 355B may then show the estimated trip time (i.e., “28 minutes”), as well as any condition affecting travel within presentation 300 on the display screen 140. The display 355B may also show the route (i.e., highway “25”) associated with the calculated trip time.

Besides calculating the estimate trip time in real-time, the trip time module 250 may calculate or forecast the estimated trip time based on a time of day and/or date (i.e., special day or occasion) designated by presenter 305. For example, presenter 305 may want to determine the estimated trip time at 9:00 AM (e.g., morning rush hour) or at 8:00 PM (e.g., a later evening hour). As another example, presenter 305 may want to determine the estimated trip time when departing at a particular time on the Labor Day holiday or on a date when a sporting event, concert, or other large gathering is scheduled at a venue. In trip time mode, the presenter 305 may input the desired time of day and/or date and select a starting point and end point for trip time calculation. In another embodiment, trip time mode may also be used to calculate an estimated travel distance between two selected locations (not shown). The calculated estimated travel distance may also be displayed within presentation 300.

FIGS. 6A-6B illustrate a traffic camera appearing within the virtual broadcast presentation 300 displayed on the display screen 140. In one embodiment, an interactive element appearing in the presentation 300 may include a traffic camera (610A, 610B). The presenter 305 may select a traffic camera 610A by making a gesture associated with an input command to select the traffic camera 610A (as shown in FIG. 6A). Following selection of a traffic camera 610A associated with a particular location, a live video feed 620 corresponding to the location of a real-world traffic camera may be displayed within the presentation 300 (as shown in FIG. 6B). The presenter 305 may then use the live video 620 feed to view actual traffic conditions associated with the real world location of traffic camera 610A.

FIG. 7 is a flow chart illustrating a method 700 for gesture based interaction with traffic data presented in a virtual broadcast presentation. The steps of method 700 may be performed in varying orders. Steps may be added or subtracted from the method 700 and still fall within the scope of the present invention. The steps of the process of FIG. 7 may be embodied in hardware or software including a non-transitory computer-readable storage medium comprising instructions executable by a processor of a computing device.

At step 710, a real-time, virtual broadcast presentation 300 is generated. The presentation 300 may be based on dynamic information and may be two-dimensional or three-dimensional. Execution of the presentation rendering module 210 may perform step 710. The dynamic information may include real-time traffic information or real-time weather information and be received from the information sources 130 in conjunction with execution of the communications module 210.

At step 720, a gesture made by a user may be detected by a sensor or camera of the computing device 110. The gesture may be associated with an input command for directing the computing device 110 to perform a particular action. For example, computing device 110 may cause the selection of an interactive element displayed within presentation 300 or manipulation of a view of the presentation 300. Step 720 may be performed by execution of the communications module 210. Detection of the gesture at step 720 allows for processing of the gesture at step 730.

At step 730, information related to the detected gesture is processed. Execution of the gesture recognition module 220 may perform step 730. The gesture recognition module 220 may process, recognize, and/or interpret a gesture and determine whether the gesture is associated with a known input command stored in database 125.

At step 740, the presentation 300 is manipulated based on the input command identified at step 730. Execution of the presentation rendering module 220 may perform step 740. The presentation 300 may be processed, for example, to allow for real-time manipulation of the presentation 300 and various views thereof such as zooming in and out, scrolling, panning across, tilting, or rotating. The presentation 300 may also be manipulated based on a gesture associated with an input command for selection of a soft key or selection of a particular mode, such as navigation mode, or trip time mode, displayed within the presentation 300. The presentation 300 may also be manipulated based on a gesture associated with an input command for the display of information associated with an interactive element selected by the presenter 305, such as information regarding a traffic incident, road closure, or average travel speeds.

Any number of additional and/or optional steps that are not otherwise depicted may be included in method 700. These steps may include selection of an interactive element included in the virtual broadcast presentation or feedback being provided to the presenter to inform the presenter that an interactive element is selectable.

It is noteworthy that any hardware platform suitable for performing the processing described herein is suitable for use with the invention. Computer-readable storage media refer to any medium or media that participate in providing instructions to a central processing unit (CPU) for execution. Such media can take forms, including, but not limited to, non-volatile and volatile media such as optical or magnetic disks and dynamic memory, respectively. Common forms of computer-readable storage media include a floppy disk, a flexible disk, a hard disk, magnetic tape, any other magnetic medium, a CD-ROM disk, digital video disk (DVD), any other optical medium, RAM, PROM, EPROM, a FLASHEPROM, or any other memory chip or cartridge.

Various forms of transmission media may be involved in carrying one or more sequences of one or more instructions to a CPU for execution. A bus may carry data to system RAM, from which a CPU retrieves and executes the instructions. The instructions received by system RAM may optionally be stored on a fixed disk either before or after execution by a CPU.

The foregoing detailed description of the technology herein has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the technology to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. The described embodiments were chosen in order to best explain the principles of the technology and its practical application to thereby enable others skilled in the art to best utilize the technology in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the technology be defined by the claims appended hereto. 

What is claimed is:
 1. A method for gesture based interaction with dynamic traffic data, the method comprising: generating a real time virtual broadcast presentation based on dynamic traffic data received from one or more information sources in real time; and executing instructions stored in memory, wherein execution of the instructions by a processor: processes information related to a first gesture performed by a user interacting with the virtual broadcast presentation, the first gesture detected by a sensor coupled to a computing device, wherein the first gesture is associated with a first input command that selects a soft key displayed within the virtual broadcast presentation, and wherein the first gesture is a movement of a first hand performed by the user in front of the sensor without touching the sensor or the computing device; processes information related to a second gesture performed by the user, the second gesture detected by the sensor during detection of the first gesture, wherein the second gesture is associated with a second input command that modifies a view of the virtual broadcast presentation by performing a functionality associated with the selected soft key, and wherein the second gesture is a movement of a second hand performed by the user in front of the sensor without touching the sensor or the computing device; determines the first and second input commands associated with the detected first and second gestures by comparing each of the detected first and second gestures to a plurality of previously identified gestures stored in a database, wherein the database is customizable by the user; and manipulates the real time virtual broadcast presentation based on the first and second input commands.
 2. The method of claim 1, wherein generating the real time virtual broadcast presentation is further based on dynamic weather data received from one or more information sources.
 3. The method of claim 1, wherein the real time virtual broadcast presentation is three-dimensional.
 4. The method of claim 1, wherein further execution of the instructions processes information related to a third gesture performed by the user, the third gesture detected by a sensor coupled to the computing device, wherein the third gesture is associated with a third input command.
 5. The method of claim 4, wherein the third input command selects an interactive element displayed within the virtual broadcast presentation.
 6. The method of claim 5, wherein the interactive element is a traffic alert.
 7. The method of claim 5, wherein the interactive element is a live camera showing a real time traffic condition associated with a real world location of the live camera.
 8. The method of claim 4, wherein the third input command includes calculating an estimated travel time between two user selected locations, the two user selected locations being interactive elements displayed within the real time virtual broadcast presentation, and wherein the first selected location corresponds to a first location designated as a starting point and the second selected location corresponds to a second location designated as an end point.
 9. The method of claim 8, wherein calculating the estimated travel time is based on a designated time of day.
 10. The method of claim 4, wherein the third input command includes calculating an estimated travel distance between two user selected locations, the two user selected locations being interactive elements displayed within the real time virtual broadcast presentation, and wherein the first selected location corresponds to a first location designated as a starting point and the second selected location corresponds to a second location designated as an end point.
 11. The method of claim 1, wherein manipulating the real time virtual broadcast presentation includes rotating or tilting a view of the real time virtual broadcast presentation.
 12. The method of claim 1, wherein manipulating the real time virtual broadcast presentation includes zooming in or zooming out of the real time virtual broadcast presentation.
 13. The method of claim 1, wherein manipulating the real time virtual broadcast presentation includes scrolling through the real time virtual broadcast presentation.
 14. The method of claim 1, wherein manipulating the real time virtual broadcast presentation includes displaying information regarding a user selected interactive element included in the real time virtual broadcast presentation.
 15. A system for gesture based interaction with dynamic traffic data, the system comprising: a processor; and memory that stores instructions executable by the processor to: detect a first gesture performed by a user interacting with a real time virtual broadcast presentation, the first gesture detected by a sensor coupled to the processor, wherein the first gesture is associated with a first input command that selects a soft key displayed within the virtual broadcast presentation, and wherein the first gesture is a movement of a first hand performed by the user in front of the sensor without touching the sensor; detect a second gesture performed by the user, the second gesture detected by the sensor during detection of the first gesture, wherein the second gesture is associated with a second input command that modifies a view of the virtual broadcast presentation by performing a functionality associated with the selected soft key, and wherein the second gesture is a movement of a second hand performed by the user in front of the sensor without touching the sensor; determine the first and second input commands associated with the detected first and second gestures by comparing each of the detected first and second gestures to a plurality of previously identified gestures stored in a database, wherein the database is customizable by the user; generate the real time virtual broadcast presentation based on dynamic traffic data received from one or more information sources in real time; and manipulate the real time virtual broadcast presentation based on the first and second input commands.
 16. The system of claim 15, wherein further execution of the instructions processes information related to a third gesture performed by the user, the third gesture detected by a sensor coupled to the processor, wherein the third gesture is associated with a third input command, and the third input command selects an interactive element included in the real time virtual broadcast presentation.
 17. The system of claim 16, further comprising instructions executable by the processor to inform the user that the interactive element is selectable.
 18. The system of claim 15, further comprising instructions executable by the processor to determine an estimated travel time or travel distance between two user selected locations.
 19. A non-transitory computer readable storage medium having a program embodied thereon, the program executable by a processor to perform a method for gesture based interaction with dynamic traffic data, the method comprising: generating a real time virtual broadcast presentation based on dynamic traffic data received from one or more information sources in real time; processing information related to a first gesture performed by a user interacting with the virtual broadcast presentation, the first gesture detected by a sensor coupled to a computing device, wherein the first gesture is associated with a first input command that selects a soft key displayed within the virtual broadcast presentation, and wherein the first gesture is a movement of a first hand performed by the user in front of the sensor without touching the sensor or the computing device; processing information related to a second gesture performed by the user, the second gesture detected by the sensor during detection of the first gesture, wherein the second gesture is associated with a second input command that modifies a view of the virtual broadcast presentation by performing a functionality associated with the selected soft key, and wherein the second gesture is a movement of a second hand performed by the user in front of the sensor without touching the sensor or the computing device; determining the first and second input commands associated with the detected first and second by comparing each of the detected first and second gestures to a plurality of previously identified gestures stored in a database, wherein the database is customizable by the user; and manipulating the real time virtual broadcast presentation based on the first and second input commands. 